package com.qidi.ssh.service;

import com.qidi.ssh.bean.Linkman;
import com.qidi.ssh.dao.LinkmanDao;
import com.qidi.ssh.utils.PageBean;
import org.hibernate.criterion.DetachedCriteria;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author zhouXinBin
 * @create 2020-10-20-9:04
 */
@Transactional
public class LinkmanServiceimpl implements LinkmanService {
    private LinkmanDao linkmanDao;

    public void setLinkmanDao(LinkmanDao linkmanDao) {
        this.linkmanDao = linkmanDao;
    }

    @Override
    public PageBean<Linkman> findAllByPage(DetachedCriteria detachedCriteria, Integer pageNo, Integer pageSize) {
        PageBean<Linkman> pageBean=new PageBean<>();
        pageBean.setPageNo(pageNo);
        pageBean.setPageSize(pageSize);
        Integer totalCount=linkmanDao.findCount(detachedCriteria);
        pageBean.setTotalCount(totalCount);
        Double num= Math.ceil(totalCount.doubleValue()/pageSize);
        pageBean.setTotalPage(num.intValue());
        List<Linkman> linkmens=linkmanDao.findByPage(detachedCriteria,pageNo,pageSize);
        pageBean.setList(linkmens);
        return pageBean;
    }

    @Override
    public void saveLinkMan(Linkman linkman) {
        linkmanDao.save(linkman);
    }

    @Override
    public void deleteLinkMan(Long lkm_id) {
        Linkman linkman = linkmanDao.findById(lkm_id);
        linkmanDao.delete(linkman);

    }

    @Override
    public Linkman editById(Long lkm_id) {
        return linkmanDao.findById(lkm_id);
    }

    @Override
    public void updateLinkman(Linkman linkman) {
        linkmanDao.update(linkman);
    }

}
